package 比较排序;

public class ShellSort {
public static void sort(int[] arr){
    int len=arr.length;
    int i,j,gap,current;
    for(gap=Math.floorDiv(len,2);gap>0;gap=Math.floorDiv(gap,2)){
        // 注意：这里和动图演示的不一样，动图是分组执行，实际操作是多个分组交替执行
        for(i=0;i<len;i++){
            j=i;
            current=arr[i];
            while (j-gap>=0 && current<arr[j-gap]){
                arr[j]=arr[j-gap];
                j=j-gap;
            }
            arr[j]=current;
        }
    }
}
}
